import { followLike } from "@/services/consult" 
import type { FollowType } from "@/types/consult"
import { showSuccessToast } from "vant"
import { ref } from 'vue'

// 不是创建一个布尔值和函数然后导出
// 而是创建一个可以创建新布尔值和函数的函数导出
// 每次调用这个工厂函数都可以得到一个独立的加载中布尔值状态和对应的使用函数
export const useFollow = (type: FollowType = 'doc') => {
  const loading = ref(false)

  const follow = async(item: {id: string, likeFlag:  0 | 1}) => {
    loading.value = true
    try {
      // 发送请求修改关注状态
      await followLike({id:item.id, type})
      // 强制修改页面显示状态
      item.likeFlag = item.likeFlag === 1 ? 0 : 1
    } finally {
      loading.value = false
    }
  }

  return {
    loading,
    follow
  }
}


